<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<style>
    #page_nav .fenyeItem{
        display: inline-block;
        width: 35px;
        height: 30px;
        border: 1px solid #bdbbbb;
        text-align: center;
        line-height: 30px;
        cursor: pointer;
        transition: all 0.1s;
        text-decoration: none;
    }

    #page_nav .fenyeItem:hover{
        background-color: #409eff;
    }

    #page_nav .checkedItem{
        background-color: #409eff;
    }
</style>

<%--分页条--%>
<div id="page_nav">
    <%--大于首页才显示--%>
    <c:if test="${requestScope.page.pageNo > 1}">
        <a class="fenyeItem" href="${requestScope.page.url}&pageNo=1">首页</a>
        <a class="fenyeItem" href="${requestScope.page.url}&pageNo=${requestScope.page.pageNo-1}">&lt;&lt;</a>
    </c:if>

    <%--页码输出的开始--%>
    <c:choose>
        <%--情况 1：如果总页码小于等于 5 的情况，页码的范围是：1-总页码--%>
        <c:when test="${requestScope.page.pageTotal <= 5}">
            <c:set var="begin" value="1"/>
            <c:set var="end" value="${requestScope.page.pageTotal}"/>
        </c:when>
        <%--情况 2：总页码大于 5 的情况。假设一共 10 页--%>
        <c:when test="${requestScope.page.pageTotal > 5}">
            <c:choose>
                <%--小情况 1：当前页码为前面 3 个：1，2，3 的情况，页码范围是：1-5--%>
                <c:when test="${requestScope.page.pageNo <= 3}">
                    <c:set var="begin" value="1"/>
                    <c:set var="end" value="5"/>
                </c:when>
                <%--小情况 2：当前页码为最后 3 个，8，9，10，页码范围是：总页码减 4 - 总页码--%>
                <c:when test="${requestScope.page.pageNo > requestScope.page.pageTotal - 3}">
                    <c:set var="begin" value="${requestScope.page.pageTotal-4}"/>
                    <c:set var="end" value="${requestScope.page.pageTotal}"/>
                </c:when>
                <%--小情况 3：4，5，6，7，页码范围是：当前页码减 2 - 当前页码加 2--%>
                <c:otherwise>
                    <c:set var="begin" value="${requestScope.page.pageNo-2}"/>
                    <c:set var="end" value="${requestScope.page.pageNo+2}"/>

                </c:otherwise>
            </c:choose>
        </c:when>
    </c:choose>

    <c:forEach begin="${pageScope.begin}" end="${pageScope.end}" var="i">
        <c:if test="${i == requestScope.page.pageNo}">
            <a class="fenyeItem checkedItem" href="${requestScope.page.url}&pageNo=${i}">${i}</a>
        </c:if>
        <c:if test="${i != requestScope.page.pageNo}">
        <a class="fenyeItem" href="${requestScope.page.url}&pageNo=${i}">${i}</a>
        </c:if>
    </c:forEach>
    <%--页码输出的结束--%>

    <%--如果已经是最后一页，不显示下一页和末页--%>
    <c:if test="${requestScope.page.pageNo < requestScope.page.pageTotal}">
        <a class="fenyeItem" href="${requestScope.page.url}&pageNo=${requestScope.page.pageNo+1}">&gt;&gt;</a>
        <a class="fenyeItem" href="${requestScope.page.url}&pageNo=${requestScope.page.pageTotal}">末页</a>
    </c:if>
    共${requestScope.page.pageTotal}页，${requestScope.page.pageTotalCount}条记录
    到第<input value="${param.pageNo}" name="pn" id="pn_input"/>页
    <input id="searchPageBtn" type="button" value="确定">
</div>